package br.com.harley.torneio.domain;

import java.util.ArrayList;
import java.util.List;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.FetchType;
import javax.persistence.OneToMany;
import javax.persistence.SequenceGenerator;
import javax.persistence.Table;
import javax.persistence.UniqueConstraint;

@Entity
@Table(name = "jogador", uniqueConstraints = { @UniqueConstraint(columnNames = { "apelido" }) })
@SequenceGenerator(name = "sq_jogador", sequenceName = "sq_jogador")
public class Jogador extends Usuario {

	private static final long serialVersionUID = 1L;

	@Column(name = "apelido", length = 80, nullable = false)
	private String apelido;

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "jogador")
	private List<PartidaJogador> listaDePartidas = new ArrayList<PartidaJogador>();

	@OneToMany(fetch = FetchType.LAZY, mappedBy = "torneio")
	private List<TorneioJogador> listaDeTorneios = new ArrayList<TorneioJogador>();

	public String getApelido() {
		return apelido;
	}

	public void setApelido(String apelido) {
		this.apelido = apelido;
	}

	public List<PartidaJogador> getListaDePartidas() {
		return listaDePartidas;
	}

	public void setListaDePartidas(List<PartidaJogador> listaDePartidas) {
		this.listaDePartidas = listaDePartidas;
	}

	public List<TorneioJogador> getListaDeTorneios() {
		return listaDeTorneios;
	}

	public void setListaDeTorneios(List<TorneioJogador> listaDeTorneios) {
		this.listaDeTorneios = listaDeTorneios;
	}

}
